package com.wm.blog.center.common.exception;



import com.wm.blog.center.common.utils.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;


/**
 * @Author: weiming
 * @Date: 2021/5/18 16:55
 * @Description:
 */
@ControllerAdvice
@Slf4j
public class BlogExceptionHandle {

    @ExceptionHandler(value = com.wm.blog.center.common.exception.BlogException.class)
    @ResponseBody
    public R sBlogExcpetion(BlogException e){
        /*异常处理流程
         * 1、需要把异常记录下来，记录到数据库、日志等。
         *   记录异常发生的时间、方法、错误内容
         * 2、发送通知，把异常信息通过邮件、信息发送给相关人员
         * 3、给用户提示
         * */
        log.error("全局异常处理BlogException=", e);
        return R.error(e.getMessage());
    }

    @ExceptionHandler(value = Exception.class)
    @ResponseBody
    public R excpetion(Exception e){
        /*异常处理流程
         * 1、需要把异常记录下来，记录到数据库、日志等。
         *   记录异常发生的时间、方法、错误内容
         * 2、发送通知，把异常信息通过邮件、信息发送给相关人员
         * 3、给用户提示
         * */
        log.error("全局异常处理Exception=", e);
        return R.error(e.getMessage());
    }
}
